import React, { FC } from 'react'
import Icon, {
  ExclamationCircleOutlined,
  ExclamationCircleFilled,
  StarOutlined,
  ReloadOutlined,
  DownOutlined,
  RightOutlined,
  SearchOutlined,
  PlusOutlined,
  CloudUploadOutlined,
  UploadOutlined,
  CloudDownloadOutlined,
  DownloadOutlined,
  ShareAltOutlined,
  AppstoreOutlined,
  MenuOutlined,
  CloseOutlined,
  CloseCircleFilled,
  UsergroupAddOutlined,
  CaretDownOutlined,
  LeftOutlined,
  LinkOutlined,
  EllipsisOutlined,
  CaretRightOutlined,
  TeamOutlined,
  StarFilled,
  PauseCircleOutlined,
  DeleteOutlined,
  PlayCircleOutlined,
  LayoutOutlined,
  UnorderedListOutlined,
  MinusOutlined,
  DoubleRightOutlined,
  DoubleLeftOutlined,
  CheckOutlined,
  EyeInvisibleOutlined,
  LockOutlined,
  EyeOutlined,
  UnlockOutlined,
  CaretUpOutlined,
  ApartmentOutlined,
  UserOutlined,
  PlusCircleOutlined,
  UpOutlined,
  SisternodeOutlined,
  FileAddOutlined,
  GroupOutlined,
  SettingOutlined,
  DatabaseOutlined,
  MessageOutlined,
  ReadOutlined,
  AppleOutlined,
  WindowsOutlined,
  UserAddOutlined,
  EditOutlined,
  IdcardOutlined,
  CalendarOutlined,
  CheckCircleOutlined,
  LineHeightOutlined,
  FontSizeOutlined,
  FileExclamationOutlined,
  ColumnHeightOutlined,
  MailOutlined,
  ScheduleOutlined,
  FundProjectionScreenOutlined,
  CloudServerOutlined,
  UserSwitchOutlined,
  ZoomInOutlined,
  ZoomOutOutlined,
  ProfileOutlined,
  AlertOutlined,
  SelectOutlined,
  ArrowUpOutlined,
  ArrowDownOutlined,
} from '@ant-design/icons'
import type { CustomIconComponentProps, IconComponentProps } from '@ant-design/icons/lib/components/Icon'
//叹号-空心
export const ExclamationCircleOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={ExclamationCircleOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//叹号-实心
export const ExclamationCircleFilledIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={ExclamationCircleFilled as React.ForwardRefExoticComponent<any>} {...props} />
)
//星星-空心
export const StarOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={StarOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//星星-实心
export const StarFilledIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={StarFilled as React.ForwardRefExoticComponent<any>} {...props} />
)
//刷新
export const ReloadOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={ReloadOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//向下箭头
export const DownOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={DownOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//向上箭头
export const UpOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={UpOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//向右箭头
export const RightOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={RightOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//向左箭头
export const LeftOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={LeftOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//搜索
export const SearchOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={SearchOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//加号
export const PlusOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={PlusOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//圆形加号
export const PlusCircleOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={PlusCircleOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//云上传
export const CloudUploadOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={CloudUploadOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//普通上传
export const UploadOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={UploadOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//云下载
export const CloudDownloadOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={CloudDownloadOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//下载
export const DownloadOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={DownloadOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//共享
export const ShareAltOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={ShareAltOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//链接
export const LinkOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={LinkOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//苹果电脑Comand键 四个小方块
export const AppstoreOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={AppstoreOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//三条横线
export const MenuOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={MenuOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//三个点
export const EllipsisOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={EllipsisOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//不带边框的关闭 X
export const CloseOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={CloseOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//黑色背景的关闭 X
export const CloseCircleFilledIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={CloseCircleFilled as React.ForwardRefExoticComponent<any>} {...props} />
)
//添加用户
export const UsergroupAddOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={UsergroupAddOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//团队-成员管理
export const TeamOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={TeamOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//箭头向下的三角形
export const CaretDownOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={CaretDownOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//箭头向上的三角形
export const CaretUpOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={CaretUpOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//箭头向右的三角形
export const CaretRightOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={CaretRightOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//开始
export const PlayCircleOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={PlayCircleOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//暂停
export const PauseCircleOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={PauseCircleOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//删除
export const DeleteOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={DeleteOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//行列
export const LayoutOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={LayoutOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//无序列表
export const UnorderedListOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={UnorderedListOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//减号
export const MinusOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={MinusOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//双向右箭头
export const DoubleRightOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={DoubleRightOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//双向左箭头
export const DoubleLeftOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={DoubleLeftOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//对号
export const CheckOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={CheckOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//闭眼
export const EyeInvisibleOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={EyeInvisibleOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//睁眼
export const EyeOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={EyeOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//锁
export const LockOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={LockOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//解锁
export const UnlockOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={UnlockOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//部门图标
export const ApartmentOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={ApartmentOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//用户/成员管理图标
export const UserOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={UserOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//文档工具栏扩展图标
export const SisternodeOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={SisternodeOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//文档工具栏文件图标
export const FileAddOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={FileAddOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//文档工具栏表单控件图标
export const GroupOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={GroupOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//系统设置
export const SettingOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={SettingOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//数据字典
export const DatabaseOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={DatabaseOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//知识库
export const ReadOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={ReadOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//文档批注消息图标
export const MessageOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={MessageOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//苹果图标
export const AppleOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={AppleOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//window图标
export const WindowsOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={WindowsOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//添加人员图标
export const UserAddOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={UserAddOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//编辑
export const EditOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={EditOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//角色管理
export const IdcardOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={IdcardOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//日历
export const CalendarOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={CalendarOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//多选框
export const CheckCircleOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={CheckCircleOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//单行文本
export const LineHeightOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={LineHeightOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//多行文本
export const FontSizeOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={FontSizeOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//文件属性管理
export const FileExclamationOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={FileExclamationOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//AI分割线
export const ColumnHeightOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={ColumnHeightOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
// 联系我们
export const MailOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={MailOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
// 后台管理-系统
export const FundProjectionScreenOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={FundProjectionScreenOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
// 后台管理-储存池
export const CloudServerOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={CloudServerOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
// 后台管理-备份
export const ScheduleOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={ScheduleOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
// 后台管理-文件owner转移
export const UserSwitchOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={UserSwitchOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
// 后台管理-操作日志
export const ProfileOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={ProfileOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
// 查看原图
export const ZoomOutOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={ZoomOutOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
// 还原图片
export const ZoomInOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={ZoomInOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
// 磁盘异常图标
export const AlertOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={AlertOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
// 快捷方式图标
export const SelectOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={SelectOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
// 向上箭头
export const ArrowUpOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={ArrowUpOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
// 向下箭头
export const ArrowDownOutlinedIcon: FC<IconComponentProps> = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={ArrowDownOutlined as React.ForwardRefExoticComponent<any>} {...props} />
)
//Markdown保存图标
export const saveIconSvgStr = '<svg class="icon" fill="currentColor" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em"><path d="M823.319273 46.545455A131.025455 131.025455 0 0 1 954.181818 177.408v692.456727A131.002182 131.002182 0 0 1 823.319273 1000.727273H223.953455A131.002182 131.002182 0 0 1 93.090909 869.864727V177.408A131.025455 131.025455 0 0 1 223.953455 46.545455H823.319273zM884.363636 869.864727V177.408A61.114182 61.114182 0 0 0 823.319273 116.363636H768v290.909091a34.909091 34.909091 0 0 1-34.909091 34.909091h-418.909091a34.909091 34.909091 0 0 1-34.909091-34.909091V116.363636H223.953455A61.114182 61.114182 0 0 0 162.909091 177.408v692.456727A61.114182 61.114182 0 0 0 223.953455 930.909091h599.365818A61.114182 61.114182 0 0 0 884.363636 869.864727zM349.090909 372.363636h349.090909V116.363636H349.090909v256z m244.363636-58.181818a46.545455 46.545455 0 1 0-0.023272-93.114182A46.545455 46.545455 0 0 0 593.454545 314.181818"></path></svg>'
// emd保存图标
export const saveIconSvgElement = () => (
  <svg className="icon" fill="currentColor" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" width="1em" height="1em"><path d="M823.319273 46.545455A131.025455 131.025455 0 0 1 954.181818 177.408v692.456727A131.002182 131.002182 0 0 1 823.319273 1000.727273H223.953455A131.002182 131.002182 0 0 1 93.090909 869.864727V177.408A131.025455 131.025455 0 0 1 223.953455 46.545455H823.319273zM884.363636 869.864727V177.408A61.114182 61.114182 0 0 0 823.319273 116.363636H768v290.909091a34.909091 34.909091 0 0 1-34.909091 34.909091h-418.909091a34.909091 34.909091 0 0 1-34.909091-34.909091V116.363636H223.953455A61.114182 61.114182 0 0 0 162.909091 177.408v692.456727A61.114182 61.114182 0 0 0 223.953455 930.909091h599.365818A61.114182 61.114182 0 0 0 884.363636 869.864727zM349.090909 372.363636h349.090909V116.363636H349.090909v256z m244.363636-58.181818a46.545455 46.545455 0 1 0-0.023272-93.114182A46.545455 46.545455 0 0 0 593.454545 314.181818"></path></svg>
)
//保存图标
export const SaveOutlinedIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={saveIconSvgElement} {...props} />
)
// 表格导入图标
export const exportIcon = ''
// 表格上传图片图标
export const uploadImageIcon = ''

